/**
 * 添加或修改商品优惠码信息
 * 
 * @param {}
 *            id
 * @param {}
 *            title
 * @return {}
 */
function addOrUpdCouponWin(id, title) {
	var couponForm = new Ext.form.FormPanel({
		id : 'couponForm',
		frame : true,
		buttonAlign : 'center',
		monitorValid : true,
		bodyBorder : false,
		fileUpload : true,// 上传文件设置为true
		reader : new Ext.data.JsonReader({
					success : 'success',
					root : 'data'
				}, [{
							name : "id"
						}, {
							name : "ruleGroupId"
						}, {
							name : "couponCodeName"
						}, {
							name : "couponCode"
						}, {
							name : "couponBeginDate"
						}, {
							name : "couponEndDate"
						}, {
							name : "enjoyOtherActivtity"
						}, {
							name : "isSingleUser"
						}, {
							name : "couponStatus"
						}, {
							name : "isEnable"
						}, {
							name : "isB2bCoupon"
						}, {
							name : "createdDate"
						}, {
							name : "createdName"
						}, {
							name : "updatedDate"
						}, {
							name : "updatedName"
						}, {
							name : "ruleGroupName"
						}, {
							name : "salesName"
						}]),
		items : [{
			layout : 'column',
			border : false,
			items : [{
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
							xtype : 'hidden',
							name : 'id',
							value : id
						}, {
							xtype : 'textfield',
							anchor : '100%',
							labelStyle : "text-align:right;",
							fieldLabel : "<span style='color:#F00'>*</span>优惠码名称",
							allowBlank : false,
							blankText : '优惠码名称不能为空',
							name : "couponCodeName"
						}]
			}, {
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
							id : 'couponForm_ruleGroupId',
							anchor : '100%',
							labelStyle : "text-align:right;",
							fieldLabel : "<span style='color:#F00'>*</span>规则组名称",
							hiddenName : 'ruleGroupId',
							xtype : 'ruleGroupCmb',
							allowBlank : false,
							showValue : true,
							existall : false
						}]
			}]
		}, {
			layout : 'column',
			border : false,
			items : [{
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
					anchor : '100%',
					id : "couponForm_beginDate",
					xtype : "datefield",
					name : "couponBeginDate",
					labelStyle : "text-align:right;",
					fieldLabel : "<span style='color:#F00'>*</span>有效开始时间",
					allowBlank : false,
					editable : false,
					format : 'Y-m-d',
					listeners : {
						'select' : function() {
							Ext.getCmp('couponForm_endDate').setMinValue(this
									.getValue());
						}
					}

				}]
			}, {
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
					anchor : '100%',
					id : "couponForm_endDate",
					xtype : "datefield",
					name : "couponEndDate",
					labelStyle : "text-align:right;",
					fieldLabel : "有效结束时间",
					editable : false,
					format : 'Y-m-d',
					listeners : {
						'select' : function() {
							Ext.getCmp('couponForm_beginDate').setMaxValue(this
									.getValue());
						}
					}
				}]
			}]
		}, {
			layout : 'column',
			border : false,
			items : [{
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
							xtype : 'localcommonbox',
							anchor : '100%',
							labelStyle : "text-align:right;",
							fieldLabel : "<span style='color:#F00'>*</span>是否参与其他优惠",
							hiddenName : "enjoyOtherActivtity",
							loaclarr : [['0', '不参与'], ['1', '参与']],
							allowBlank : false,
							value : 0
						}]
			}, {
				layout : 'form',
				border : false,
				labelWidth : 110,
				columnWidth : .48,
				items : [{
							xtype : 'localcommonbox',
							anchor : '100%',
							labelStyle : "text-align:right;",
							fieldLabel : "<span style='color:#F00'>*</span>是否可用",
							hiddenName : "isEnable",
							allowBlank : false,
							loaclarr : [['0', '可用'], ['1', '不可用']],
							value : 0
						}]
			}]
		}, {
			layout : 'column',
			border : false,
			items : [{
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
							id : 'couponForm_couponStatus',
							xtype : 'dataDictionaryCmb',
							anchor : '100%',
							fieldLabel : "<span style='color:#F00'>*</span>优惠码状态",
							labelStyle : "text-align:right;",
							editable : false,
							autoLoad : true,
							existall : false,
							allowBlank : false,
							defaultFirstRow : 1,
							hiddenName : 'couponStatus',
							dictionaryType : PmsUtil.user_coupon_status
						}]
			}, {
				layout : 'form',
				border : false,
				labelWidth : 110,
				columnWidth : .48,
				items : [{
							id : 'coupon_isSingleUser',
							xtype : 'dataDictionaryCmb',
							anchor : '100%',
							fieldLabel : "<span style='color:#F00'>*</span>是否单次使用",
							labelStyle : "text-align:right;",
							editable : false,
							autoLoad : true,
							allowBlank : false,
							existall : false,
							defaultFirstRow : 1,
							hiddenName : 'isSingleUser',
							dictionaryType : PmsUtil.is_single_user
						}]
			}, {
				layout : 'form',
				border : false,
				labelWidth : 110,
				columnWidth : .48,
				items : [{
							id : 'couponForm_salesName',
							xtype : 'localcommonbox',
							anchor : '100%',
							labelStyle : "text-align:right;",
							fieldLabel : "<span style='color:#F00'>*</span>销售人员",
							hiddenName : "salesName",
							editable : false,
							autoLoad : true,
							existall : false,
							allowBlank : false,
							loaclarr : [['王智', '王智'], ['徐敏', '徐敏'],['祝家康', '祝家康'],['R', 'R']]
						}]
			}]
		}, {
			layout : 'column',
			border : false,
			items : [{
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
					id : 'couponForm_radioIsAutomatic',
					xtype : 'radiogroup',
					labelStyle : "text-align:right;",
					fieldLabel : '系统生成优惠码',
					hideLabels : false,
					items : [{
								xtype : 'radio',
								boxLabel : '是',
								name : 'isAutomatic',
								inputValue : 1,
								checked : true
							}, {
								xtype : 'radio',
								boxLabel : '否',
								name : 'isAutomatic',
								inputValue : 0,
								checked : false
							}],
					listeners : {
						change : function(obj, newValue, oldValue, eOpts) {// 这事件是当radiogroup的值发生改变时进入
							if (newValue.inputValue == 0) {
								Ext.getCmp('couponForm_couponCodeNumber')
										.setValue(1);
								Ext.getCmp("couponForm_couponCodeNumber")
										.getEl().dom.readOnly = true;
								var couponCode = Ext
										.getCmp('couponForm_couponCode');
								couponCode.getEl().up('.x-form-item')
										.setDisplayed(true);
								couponCode.allowBlank = false;
							} else {
								Ext.getCmp('couponForm_couponCodeNumber')
										.setValue("");
								Ext.getCmp("couponForm_couponCodeNumber")
										.getEl().dom.readOnly = false;
								var couponCode = Ext
										.getCmp('couponForm_couponCode');
								couponCode.getEl().up('.x-form-item')
										.setDisplayed(false);
								couponCode.allowBlank = true;
								couponCode.setValue("");
							}
						}
					}
				}]
			}, {
				layout : 'form',
				border : false,
				labelWidth : 110,
				columnWidth : .48,
				items : [{
							id : 'couponForm_couponCodeNumber',
							xtype : 'numberfield',
							anchor : '100%',
							labelStyle : "text-align:right;",
							fieldLabel : "<span style='color:#F00'>*</span>生成个数",
							allowBlank : false,
							allowDecimals : false,// 禁用小数
							allowNegative : false, // 禁用负数
							minValue : 1,
							name : "couponCodeNumber"
						}]
			}]
		}, {
			layout : 'column',
			border : false,
			items : [{
				labelWidth : 110,
				columnWidth : .48,
				layout : 'form',
				border : false,
				items : [{
					id : 'couponForm_couponCode',
					xtype : 'textfield',
					anchor : '100%',
					labelStyle : "text-align:right;",
					fieldLabel : "<span style='color:#F00'>*</span>优惠码",
					blankText : '优惠码不能为空',
					name : "couponCode",
					listeners : {
						"afterrender" : function(comp, eOpts) {
							comp.getEl().up('.x-form-item').setDisplayed(false);
						}
					}
				}]
			}, {
				layout : 'form',
				border : false,
				labelWidth : 110,
				columnWidth : .48,
				items : [{
					xtype : 'localcommonbox',
					anchor : '100%',
					labelStyle : "text-align:right;",
					fieldLabel : "<span style='color:#F00'>*</span>优惠码类型",
					hiddenName : "couponType",
					allowBlank : false,
					loaclarr : [['0', '普通码'], ['1', 'B2B码'],
							['2', 'Online-Coupon']],
					value : 0
				}]
			}]

		}],
		buttons : [{
					text : '确定',
					formBind : true,
					handler : function() {
						addOrUpdCoupon();
					}
				}, {
					text : "取消",
					handler : function() {
						addOrUpdCouponWindow.close();
					}
				}]
	});

	var addOrUpdCouponWindow = new Ext.Window({
				id : 'addOrUpdCouponWindow',
				closeAction : 'close',
				title : title,
				closable : true,
				plain : true,
				modal : true,
				width : 640,
				height : 240,
				// draggable : false, // 不可拖动
				resizable : false, // 不可调整
				buttonAlign : 'center',
				autoDestroy : true,
				layout : 'fit',
				items : [couponForm],
				listeners : {
					'show' : function() {
						selectCouponUpdById(id);
					},
					'beforeshow' : function() {
						addOrUpdCouponWindow.center();
					}
				}
			});
	return addOrUpdCouponWindow;

};

/**
 * 查询商品优惠码对象
 * 
 * @param {}
 *            id
 */
function selectCouponUpdById(id) {
	if (id != null && id != "undefined") {
		Ext.getCmp('couponForm_radioIsAutomatic').getEl().up('.x-form-item')
				.setDisplayed(false);
		Ext.getCmp('couponForm_couponCodeNumber').getEl().up('.x-form-item')
				.setDisplayed(false);
		Ext.getCmp('couponForm_radioIsAutomatic').allowBlank = true;
		Ext.getCmp('couponForm_couponCodeNumber').allowBlank = true;
		Ext.getCmp('couponForm_couponStatus').getEl().up('.x-form-item')
				.setDisplayed(false);

		Ext.getCmp("couponForm").getForm().load({
			url : __ctxPath + "/couponManager/queryCouponById",
			params : {
				id : id
			},
			method : "POST",
			waitTitle : "请稍候",
			waitMsg : "正在载入数据...",
			root : "data",
			success : function(form, action) {
				var data = action.result.data;
				console.info(data.couponBeginDate);

				// 设置规则组名称
				Ext.getCmp('couponForm_ruleGroupId').setValue(data.ruleGroupId);
				Ext.getCmp('couponForm_ruleGroupId')
						.setRawValue(data.ruleGroupName);

				// 设置是否单次使用
				Ext.getCmp('coupon_isSingleUser').setValue(data.isSingleUser);
				Ext.getCmp('coupon_isSingleUser').setRawValue(PmsUtil
						.IsSingleUser(data.isSingleUser));

				Ext.getCmp('couponForm_salesName').setValue(data.salesName);

				// 设置优惠码状态
				Ext.getCmp('couponForm_couponStatus')
						.setValue(data.couponStatus);
				Ext.getCmp('couponForm_couponStatus').setRawValue(PmsUtil
						.CouponStatus(data.couponStatus));

				// 设置有开始束时间
				Ext.getCmp('couponForm_beginDate').setValue(Ext.util.Format
						.substr(data.couponBeginDate, 0, 10));

				// 设置有效结束时间
				Ext.getCmp('couponForm_endDate').setValue(Ext.util.Format
						.substr(data.couponEndDate, 0, 10));

			},
			failure : function(f, g) {
				Ext.MessageBox.show({
							title : "操作信息",
							msg : "数据加载失败!",
							buttons : Ext.MessageBox.OK,
							icon : Ext.MessageBox.ERROR
						});
			}
		});
	} else {
		Ext.getCmp('couponForm_salesName').getEl().up('.x-form-item')
				.setDisplayed(false);
	}
}
/**
 * 添加或修改优惠码信息
 */
function addOrUpdCoupon() {
	var couponForm = Ext.getCmp("couponForm");
	if (couponForm.getForm().isValid()) {
		Ext.Msg.confirm("提示框", "确认要保存优惠码信息吗?", function(button) {
					if (button == "yes") {
						couponForm.getForm().submit({
							url : __ctxPath + '/couponManager/addOrUpdCoupon',
							waitTitle : "请稍候",
							waitMsg : "正在提交表单，请稍候......",
							failure : function(response, options) {
								var jsonData = Ext.util.JSON
										.decode(options.response.responseText);
								Ext.MessageBox.show({
											title : "错误提示",
											msg : jsonData.data,
											buttons : Ext.MessageBox.OK,
											icon : Ext.MessageBox.ERROR
										});
							},
							success : function(response, options) {
								var jsonData = Ext.util.JSON
										.decode(options.response.responseText);
								Ext.MessageBox.show({
											title : "信息提示",
											msg : jsonData.data,
											buttons : Ext.MessageBox.OK,
											icon : Ext.MessageBox.INFO
										});
								Ext.getCmp("addOrUpdCouponWindow").close();
								var gridPanel = Ext
										.getCmp('couponCodeManagerGrid');
								if (typeof(gridPanel) != 'undefined') {
									gridPanel.store.reload();
								}
							}
						});
					}
				});
	}
}